package com.rc.saas.tenant.model.acct;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.rc.saas.tenant.base.BaseModel;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

@ExcelIgnoreUnannotated
public class AcctWithdrawApply extends BaseModel {
    private Long withdrawApplyId;

    private String tenantCode;

    private String tenantOperatorCode;

    private String accountType;

    private String bankProvinceId;

    private String bankCityId;

    private String acctBankCode;

    private String acctBank;

    private String acctBankAccount;

    private String accountName;

    private String alipayUserId;

    private String alipayUserName;

    private String withdrawType;

    private String applySource;

    private String withdrawBy;

    @ExcelProperty(value = "提现总金额",index = 3)
    private BigDecimal withdrawAmount;
    @ExcelProperty(value = "提现电费金额",index = 4)
    private BigDecimal withdrawElecAmount;

    @ExcelProperty(value = "提现服务费金额",index = 5)
    private BigDecimal withdrawServiceAmount;

    private Date auditingTime;

    private String transferTime;

    @ExcelProperty(value = "提现状态",index = 9)
    private String status;

    @ExcelProperty(value = "备注",index = 8)
    private String remark;

    private String createdBy;

    @ExcelProperty(value = "提交时间",index = 7)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createdTime;

    private String lastUpdatedBy;

    private Date lastUpdatedTime;

    public Long getWithdrawApplyId() {
        return withdrawApplyId;
    }

    public void setWithdrawApplyId(Long withdrawApplyId) {
        this.withdrawApplyId = withdrawApplyId;
    }

    @Override
    public String getTenantCode() {
        return tenantCode;
    }

    @Override
    public void setTenantCode(String tenantCode) {
        this.tenantCode = tenantCode;
    }

    @Override
    public String getTenantOperatorCode() {
        return tenantOperatorCode;
    }

    @Override
    public void setTenantOperatorCode(String tenantOperatorCode) {
        this.tenantOperatorCode = tenantOperatorCode;
    }

    public String getAccountType() {
        return accountType;
    }

    public void setAccountType(String accountType) {
        this.accountType = accountType;
    }

    public String getBankProvinceId() {
        return bankProvinceId;
    }

    public void setBankProvinceId(String bankProvinceId) {
        this.bankProvinceId = bankProvinceId;
    }

    public String getBankCityId() {
        return bankCityId;
    }

    public void setBankCityId(String bankCityId) {
        this.bankCityId = bankCityId;
    }

    public String getAcctBankCode() {
        return acctBankCode;
    }

    public void setAcctBankCode(String acctBankCode) {
        this.acctBankCode = acctBankCode;
    }

    public String getAcctBank() {
        return acctBank;
    }

    public void setAcctBank(String acctBank) {
        this.acctBank = acctBank;
    }

    public String getAcctBankAccount() {
        return acctBankAccount;
    }

    public void setAcctBankAccount(String acctBankAccount) {
        this.acctBankAccount = acctBankAccount;
    }

    public String getAccountName() {
        return accountName;
    }

    public void setAccountName(String accountName) {
        this.accountName = accountName;
    }

    public String getAlipayUserId() {
        return alipayUserId;
    }

    public BigDecimal getWithdrawAmount() {
        return withdrawAmount;
    }

    public void setWithdrawAmount(BigDecimal withdrawAmount) {
        this.withdrawAmount = withdrawAmount;
    }

    public void setAlipayUserId(String alipayUserId) {
        this.alipayUserId = alipayUserId;
    }

    public String getAlipayUserName() {
        return alipayUserName;
    }

    public void setAlipayUserName(String alipayUserName) {
        this.alipayUserName = alipayUserName;
    }

    public String getWithdrawType() {
        return withdrawType;
    }

    public void setWithdrawType(String withdrawType) {
        this.withdrawType = withdrawType;
    }

    public String getApplySource() {
        return applySource;
    }

    public void setApplySource(String applySource) {
        this.applySource = applySource;
    }

    public String getWithdrawBy() {
        return withdrawBy;
    }

    public void setWithdrawBy(String withdrawBy) {
        this.withdrawBy = withdrawBy;
    }
//
//    public BigDecimal getWithdrawAmount() {
//        return withdrawAmount;
//    }
//
//    public void setWithdrawAmount(BigDecimal withdrawAmount) {
//        this.withdrawAmount = withdrawAmount;
//    }

    public BigDecimal getWithdrawElecAmount() {
        return withdrawElecAmount;
    }

    public void setWithdrawElecAmount(BigDecimal withdrawElecAmount) {
        this.withdrawElecAmount = withdrawElecAmount;
    }

    public BigDecimal getWithdrawServiceAmount() {
        return withdrawServiceAmount;
    }

    public void setWithdrawServiceAmount(BigDecimal withdrawServiceAmount) {
        this.withdrawServiceAmount = withdrawServiceAmount;
    }

    public Date getAuditingTime() {
        return auditingTime;
    }

    public void setAuditingTime(Date auditingTime) {
        this.auditingTime = auditingTime;
    }

    public String getTransferTime() {
        return transferTime;
    }

    public void setTransferTime(String transferTime) {
        this.transferTime = transferTime;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    @Override
    public String getCreatedBy() {
        return createdBy;
    }

    @Override
    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    @Override
    public Date getCreatedTime() {
        return createdTime;
    }

    @Override
    public void setCreatedTime(Date createdTime) {
        this.createdTime = createdTime;
    }

    @Override
    public String getLastUpdatedBy() {
        return lastUpdatedBy;
    }

    @Override
    public void setLastUpdatedBy(String lastUpdatedBy) {
        this.lastUpdatedBy = lastUpdatedBy;
    }

    @Override
    public Date getLastUpdatedTime() {
        return lastUpdatedTime;
    }

    @Override
    public void setLastUpdatedTime(Date lastUpdatedTime) {
        this.lastUpdatedTime = lastUpdatedTime;
    }
}